﻿
namespace ManagerClinic.DanhMuc
{
    using System;
    using System.Collections.Generic;
    using System.Windows.Forms;
    using ManagerClinic.Core.Common;
    using ManagerClinic.Core.Business;
    using ManagerClinic.Modules;
    using ManagerClinic.Ultilities.Ultility;

    public partial class frmCapNhatDmPhanLoaiVt : DevExpress.XtraEditors.XtraForm
    {
        public event EventHandler dmPhanLoaiVatTuEvent = null;
        DmLoaiVatTuBusiness dmLoaiVatTuBusiness = new DmLoaiVatTuBusiness();
        DmPhanLoaiVatTuBusiness dmPhanLoaiVatTuBusiness = new DmPhanLoaiVatTuBusiness();
        ThietLapMaBusiness thietLapMaBusiness = new ThietLapMaBusiness();

        DmPhanLoaiVatTuEntity dmPhanLoaiVatTuEntity = null;

        int State = 0;

        public frmCapNhatDmPhanLoaiVt(int state)
        {
            InitializeComponent();

            State = state;
            LoadDmLoaiVatTu();
            lkLoaiVatTu.Focus();
        }

        public frmCapNhatDmPhanLoaiVt(int state, DmPhanLoaiVatTuEntity obj)
        {
            InitializeComponent();

            State = state;
            LoadDmLoaiVatTu();
            dmPhanLoaiVatTuEntity = obj;

            lkLoaiVatTu.EditValue = dmPhanLoaiVatTuEntity.MaLoaiVatTu;
            txtMaPhanLoaiVatTu.Text = dmPhanLoaiVatTuEntity.MaPhanLoaiVatTu;
            txtTenPhanLoaiVatTu.Text = dmPhanLoaiVatTuEntity.TenPhanLoaiVatTu;
            txtMoTa.Text = dmPhanLoaiVatTuEntity.MoTa;
            chkTrangThaiSuDung.Checked = dmPhanLoaiVatTuEntity.TrangThaiSuDung;
            txtMaPhanLoaiVatTu.Enabled = false;
            lkLoaiVatTu.Focus();
        }

        void LoadDmLoaiVatTu()
        {
            var lstLoaiVatTuEntity = dmLoaiVatTuBusiness.GetDmLoaiVatTuList();
            lstLoaiVatTuEntity.Insert(0, new DmLoaiVatTuEntity() { MaLoaiVatTu = ConstantManagerClinic.sValueMember, TenLoaiVatTu = ConstantManagerClinic.sDisplayMember });
            lkLoaiVatTu.Properties.DataSource = lstLoaiVatTuEntity;
            lkLoaiVatTu.Properties.ValueMember = "MaLoaiVatTu";
            lkLoaiVatTu.Properties.DisplayMember = "TenLoaiVatTu";
            lkLoaiVatTu.EditValue = ConstantManagerClinic.sValueMember;
        }

        void LoadDataDmLoaiVatTu(object sender, EventArgs e)
        {
            LoadDmLoaiVatTu();
        }

        private void frmCapnhatDMPhanLoaiVT_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                SendKeys.SendWait("{Tab}");
            }
        }

        private void btnDong_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btnLuu_Click(object sender, EventArgs e)
        {
            if (Validation.ValidLookUpEdit(lkLoaiVatTu, "Loại vật tư") == false) return;
            if (validateManager1.IsValid() == false) return;
            if (Validation.ValidSpaceTextBoxKey(txtMaPhanLoaiVatTu, "Mã phân loại vật tư") == false) return;

            dmPhanLoaiVatTuEntity = new DmPhanLoaiVatTuEntity()
            {
                MaLoaiVatTu = lkLoaiVatTu.EditValue.ToString(),
                MaPhanLoaiVatTu = txtMaPhanLoaiVatTu.Text,
                TenPhanLoaiVatTu = txtTenPhanLoaiVatTu.Text,
                MoTa = txtMoTa.Text,
                TrangThaiSuDung = chkTrangThaiSuDung.Checked
            };

            if (State == (int)ConstantManagerClinic.StateInsertOrUpdate.Insert)
            {
                if (dmPhanLoaiVatTuBusiness.GetDmPhanLoaiVatTu(txtMaPhanLoaiVatTu.Text.Trim()) != null)
                    if (Validation.ValidPrimaryKey(txtMaPhanLoaiVatTu, "Mã phân loại") == false) return;

                dmPhanLoaiVatTuBusiness.InsertDmPhanLoaiVatTu(dmPhanLoaiVatTuEntity);
                Validation.ClearControl(this);
                lkLoaiVatTu.Focus();
            }
            else
            {
                dmPhanLoaiVatTuBusiness.EditDmPhanLoaiVatTu(dmPhanLoaiVatTuEntity);
                MessageBox.Show("Cập nhật thành công!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);

            }

            if (dmPhanLoaiVatTuEvent != null)
                dmPhanLoaiVatTuEvent(sender, e);
        }

        private void btnThemLVT_Click(object sender, EventArgs e)
        {
            frmCapNhatDmLoaiVt frm = new frmCapNhatDmLoaiVt((int)ConstantManagerClinic.StateInsertOrUpdate.Insert);
            frm.dmLoaiVatTuEvent += new EventHandler(LoadDataDmLoaiVatTu);
            frm.ShowDialog();
        }

    }
}